#include "mac_if.h"

#include "mac_service.h"

#include "../phy/phy_if.h"

#include "../debug.h"


void mac_if_process_tx_start_confirm_msg(message_t * msg)
{
	mac_handle_tx_start_confirm();
}


void mac_if_process_tx_end_confirm_msg(message_t * msg)
{

}



void mac_if_process_data_confirm_msg(message_t * msg)
{
	mac_handle_data_confirm();
}


void mac_if_process_rx_start_indicate_msg(message_t * msg)
{

}


void mac_if_process_rx_end_indicate_msg(message_t * msg)
{

}


void mac_if_process_cca_indicate_msg(message_t * msg)
{

}


void mac_if_process_data_indicate_msg(message_t * msg)
{

}


void mac_if_process_unit_data_request_msg(message_t * msg)
{
	mac_handle_unit_data_request(NULL, NULL, (u8*)(msg->data.p), msg->data.v, \
			MAC_DATA_PRIORITY_MIN, QoSNoAck);
}


/** */
void mac_if_process_llc_msg(message_t * msg)
{
	switch(msg->id){
	case MSG_ID_MA_UNITDATA_request:
		mac_if_process_unit_data_request_msg(msg);
		break;
	}
}



void mac_if_process_phy_msg(message_t * msg)
{
	switch(msg->id){
	case MSG_ID_TX_START_confirm:
		mac_if_process_tx_start_confirm_msg(msg);
		break;

	case MSG_ID_DATA_confirm:
		mac_if_process_data_confirm_msg(msg);
		break;
	}
}



/** */
void mac_if_handle_data_request(u8* src_addr, u8* dest_addr,  u8* data, size_t length,\
		u8 priority, mac_service_class_t service_class)
{

}



/** */
void mac_if_confirm_data(u8 * src_addr, u8 dest_addr, mac_unitdata_trans_status_t trans_status, \
		u8 priority, mac_service_class_t service_class)
{

}

/** */
void mac_if_indicate_data(u8* src_addr, u8* dest_addr, u8* data, size_t length,\
		u8 priority, mac_service_class_t service_class)
{

}
